Python字符串格式化是什么意思?Python字符串格式化输出方式语法详解

您所在的位置:网站首页 sqlplus 输出格式化 Python字符串格式化是什么意思?Python字符串格式化输出方式语法详解

Python字符串格式化是什么意思?Python字符串格式化输出方式语法详解

2023-04-06 15:31| 来源: 网络整理| 查看: 265

Python字符串格式化方式一

我们可以通过如下语法(%),完成字符串和变量的快速拼接。

name = "迟博勋" guanggaoyu = "欢迎来到%s博客" % name print(guanggaoyu) # 输出结果:欢迎来到迟博勋博客

语法解释:其中的,%s

% 表示:我要占位s 表示:将变量变成字符串放入占位的位置

所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放到占位的位置。

通过这种方式,就可以实现数字类型与字符串类型的拼接!多个类型拼接代码如下:

name = "迟博勋" tel = 123456 print("我是%s,我的电话号码是%s" % (name,tel)) # 输出结果:我是迟博勋,我的电话号码是123456

注意,多个变量占位,变量要用括号括起来,并按照占位的顺序填入。之所以可以完成数字类型与字符串类型的拼接,是因为%s将数字类型转换成了字符串类型,才完成了拼接!

那么有没有一种方式,不转换类型也能完成拼接呢?是可以的!

在Python中,其实支持非常多的数据类型占位,最常用的三种类型如下:

%s

将内容转换成字符串,放入占位位置

%d

将内容转换成整数,放入占位位置

%f

将内容转换成浮点型,放入占位位置

如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位:

name = "迟博勋" tel = 123456 tizhong = 75.14 jieguo = "我叫%s,我的电话号码是%d,我的体重是%f" % (name,tel,tizhong) print(jieguo) # 输出结果:我叫迟博勋,我的电话号码是123456,我的体重是75.140000

通过输出结果发现,浮点数75.14变成了75.140000,这是为什么?因为没对它做精度控制!

Python字符串格式化 - 数字精度控制

我们可以使用辅助符号"m.n"来控制数据的宽度和精度。

m,控制宽度,要求是数字(很少使用)。如果设置的宽度小于自身,那么则不会生效。n,控制小数点精度,要求是数字,会进行小数的四舍五入。

例如:%5d,表示将整数的宽度控制在5位。如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补充宽度。

例如:%5.2f,表示将宽度控制为5,将小数点精度设置为2。 小数点和小数部分也算入宽度计算。例如对11.345设置了%7.2f,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35。

代码示例:

num1 = 11 nim2 = 11.345 print("数字11宽度限制5,结果是:%5d" % num1) print("数字11宽度限制1,结果是:%1d" % num1) print("数字11.345宽度限制7,小数精度2,结果是:%7.2f" % num2) print("数字11.345宽度不限制,小数精度2,结果是:%.2f" % num2) #输出结果: 数字11宽度限制5,结果是: 11 # 空格补充宽度 数字11宽度限制1,结果是:11 # m比数字本身宽度还要小,表现没有写,所以宽度限制1不生效 数字11.345宽度限制7,小数精度2,结果是: 11.35 # 空格补充宽度,四舍五入 数字11.345宽度不限制,小数精度2,结果是:11.35 # 四舍五入Python字符串格式化方式二

我们可以通过如下语法(f),方便快速完成格式化。

name = "迟博勋" tel = 123456 print(f"我是{name},我的电话号码是{tel}") # 输出结果:我是迟博勋,我的电话号码是123456

采用 f“{变量} {变量}” 这种方式格式化,不用理会类型,不做精度控制,适合对精度没有要求的时候快速使用!

Python字符串格式化 - 表达式的格式化

上面所说的都是基于变量的。那么为了少写点代码,直接对“表达式”进行格式化也是可以的。首先我们来看一看什么叫做表达式?

表达式:一条具有明确执行结果的代码语句。 如:1 + 1、5 * 2,这就是表达式,因为它是代码语句并且有具体的结果,结果是一个数字。又或者,常见的变量定义:name = "迟博勋"、age = 11 + 11,等号右侧的都是表达式,因为它们有具体的结果,结果赋值给了等号左侧的变量。

示例代码

print("1 * 1的结果是:%d" % (1 * 1)) print(f"1 * 1的结果是:{1 * 1}")

在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3